[% setvar title Perl 6 Summary for the week ending 20030720 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='Perl 6 Summary for the week ending 20030720'></a><h1>Perl 6 Summary for the week ending 20030720</h1>
<p>Welcome back to an interim Perl 6 Summary, falling as it does between
two conference weeks; OSCON and YAPC::Europe. For reasons involving
insanity, a EuroStar ticket going begging, and undeserved generosity I
shall be bringing my conference haul up to 3 for the year. Yay me! Now
if I can just finagle a talk into the schedule I will have spoken at
all three too. I'll certainly have heckled at all three...</p>
<a name='The State of the Onion'></a><h2>The State of the Onion</h2>
<p>Tim Howell wondered if Larry's State of the Onion address to OSCON
would be available anywhere. Robert &quot;White Camel&quot; Spier didn't rest on
his laurels, but posted a link to Larry's slides and
transcript. Chromatic popped up with a different link, which neatly
combines slides and transcript. However, they both lack the funny
balloon pony which I gave Larry just before the talk. Maybe there will
be video later.</p>
<p><a href='http://groups.google.com/groups?threadm=3B1351035BBCE045831FCFDD4F4EC92D044C7F@sonofexchange.fefcful.org' target='_blank'>groups.google.com</a></p>
<p><a href='http://www.perl.com/pub/a/2003/07/16/soto2003.html' target='_blank'>www.perl.com</a></p>
<a name='A Small Perl Task for the Interested'></a><h2>A Small Perl Task for the Interested</h2>
<p>A few weeks back, Dan asked for volunteers to improve Parrot's build
system. Lars Balker Rasmussen stepped up to the plate and offered a
simple wrapper. Josh Wilmes seems to be somewhat sceptical about the
whole endeavour, pointing at <b><i>libtool</i></b> as an illustration of the
size of the problem.</p>
<p><a href='http://groups.google.com/groups?threadm=0fptkdo04c.fsf@laphroaig.balker.org' target='_blank'>groups.google.com</a></p>
<a name='env.pmc'></a><h2>env.pmc</h2>
<p>Parrot is in the process of getting an <code>env</code> PMC, for accessing
environment variables. Dan and Leo's discussion of the patch took in
iterators and the wisdom of caching values. In the end, Dan prevailed
and the environment PMC doesn't cache values.</p>
<p><a href='http://groups.google.com/groups?threadm=200307110809.h6B89s728289@thu8.leo.home' target='_blank'>groups.google.com</a></p>
<a name='Dan on threading'></a><h2>Dan on threading</h2>
<p>&quot;Yes, [there is some plan of how threading will work in
Parrot]. (Though there's some disagreement [as] to the solidity and
sanity of the plan)&quot;</p>
<p>Dan went on to outline the plan.</p>
<p><a href='http://groups.google.com/groups?threadm=a05210602bb38ce4499f5@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<a name='Event handling'></a><h2>Event handling</h2>
<p>Event handling appears to be the topic of the week. The consensus
seems to be that getting it right is hard. Lots of people offered
constructive suggestions and/or problem cases. I sat on the sidelines
and trusted them to get it Right (a strategy which seems to pay off
remarkably often, thankfully).</p>
<p>Damien Neil was rather less sure of the wisdom of Parrot's events and
asynchronous IO model, arguing for a system based on threading. Dan
was unconvinced. I don't think Damien was convinced either.</p>
<p><a href='http://groups.google.com/groups?threadm=200307150815.h6F8FvS29109@thu8.leo.home' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=a05210608bb3cacd7c15e@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<p><a href='http://groups.google.com/groups?threadm=a05210604bb3c7f592ef5@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<a name='IMCC sub names are not labels'></a><h2>IMCC sub names are not labels</h2>
<p>Luke Palmer had some problems with using continuation passing style
subroutines in IMCC. Leo initially pointed out that IMCC didn't
support CPS, then he fixed it so that it did (sort of, the user still
has to do a chunk of the work, but sometimes that's a good thing).</p>
<p>In an example of synchronicity, Will Coleda had a similar
problem. Leo's fix helped him too, and he went off to continue
hacking on TCL. (It helps me too, I have this cunning plot you see...)</p>
<p><a href='http://groups.google.com/groups?threadm=ygc1xwsw4nx.fsf@babylonia.flatirons.org' target='_blank'>groups.google.com</a></p>
<a name='More on targeting GCC'></a><h2>More on targeting GCC</h2>
<p>In last week's summary I wondered what Tupshin Harper was talking
about when he suggested emulating a 'more traditional, stack-oriented
processor'. This week, Tupshin wished that 'people had the decency to
tell me how insane [the idea] is'. Dan obliged, telling Tupshin that
he was insane (but he did it with a smile).</p>
<p>The problem boils down to GCC's assumptions about the 'shape' of the
stack. GCC assumes a conventional, contiguous area of stack memory
filled with stack frames. Parrot assumes a garbage collected chain of
continuations, which is about as far as you can get from GCC's
beliefs.</p>
<p><a href='http://groups.google.com/groups?threadm=3F148CF0.8040801@tupshin.com' target='_blank'>groups.google.com</a></p>
<a name='Parrot_sprintf not recognizing 7 in precision'></a><h2>Parrot_sprintf not recognizing 7 in precision</h2>
<p>mrnobo1024 posted a patch to fix a minor niggle with
Parrot_sprintf. Leon Brocard applied it.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-23005-60977.8.97351447008035@rt.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Problems with new object ops'></a><h2>Problems with new object ops</h2>
<p>Dan has started adding real classes and objects to Parrot. (Yay!)</p>
<p>Simon Glover found some bugs. (Not entirely unexpected)</p>
<p>Simon also sent in a patch fixing the bugs. (Yay! Yay! and thrice
Yay!)</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.GSO.4.43.0307162222430.28483-100000@egg.amnh.org' target='_blank'>groups.google.com</a></p>
<a name='The big core.ops split'></a><h2>The big core.ops split</h2>
<p>Brent Dax has started work on splitting core.ops up from being the
second largest file in the Parrot distribution (108k) into a total of
10, rather more narrowly defined .ops files. Benjamin Goldberg
wondered if this would be a good time for tidying up the parrot
directory structure (at the very least, he called for moving the
source files into a <b><i>src</i></b> subdirectory).</p>
<p>Dan asked for a volunteer to rough out a move plan coving which files
move where and what the new directory structure would look like,
which would allow the CPAN jockeys to rearrange things in such a way
that the various files remember their histories.</p>
<p><a href='http://groups.google.com/groups?threadm=000f01c34d73$4c2951e0$2a01a8c0@brent' target='_blank'>groups.google.com</a></p>
<a name='Copyrights'></a><h2>Copyrights</h2>
<p>Josh Wilmes posted a monster patch to unify the various copyright
notices attached to the files in the parrot distribution. Everything
is now (correctly) copyrighted by the Perl Foundation.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-23064-61526.13.0744805883565@rt.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile in perl6-language'></a><h1>Meanwhile in perl6-language</h1>
<p>Somebody needs to set an Exegesis among the pigeons. There's all of
14 messages in there, and almost all of them are discussing the
semantics of aliasing an array slice.</p>
<p><a href='http://groups.google.com/groups?threadm=3F186F40.AF8BE6BB@hotpop.com' target='_blank'>groups.google.com</a> -- Alias those slices</p>
<a name='Parsers with Pre-processors'></a><h2>Parsers with Pre-processors</h2>
<p>I didn't quite understand what Dave Whipp was driving at when he
talked about overloading the <code>&lt;ws&gt;</code> pattern as a way of doing
preprocessing of Perl 6 patterns. I didn't understand Luke Palmer's
answer either. Help.</p>
<p><a href='http://groups.google.com/groups?threadm=20030718051146.95342.qmail@onion.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Protocols'></a><h2>Protocols</h2>
<p>Luke Palmer's been toying with Objective-C (And why not, it's a nice
language) and would like Perl 6 to steal Objective-C's
protocols. (Objective C Protocols are a little like Java's interfaces,
but nicer.) I'm waiting for him to latch onto the idea of Categories
which are Objective C's way of adding methods to a class. At runtime.</p>
<p>Discussion of Luke's proposal centred on a couple of his peripheral
points, nobody's yet addressed his main point (but it looks like a
decent idea to me).</p>
<p><a href='http://groups.google.com/groups?threadm=ygck7aeahch.fsf@babylonia.flatirons.org' target='_blank'>groups.google.com</a></p>
<a name='Acknowledgements, Announcements and Apologies'></a><h1>Acknowledgements, Announcements and Apologies</h1>
<p>First of all, I plead insanity for my mistake of last week's
summary. PONIE does not stand for 'Perl On New Internal Architecture',
it obviously stands for 'Perl On New Implementation Engine'. I'm
very, very sorry and I'll try not to do it again.</p>
<p>Secondly, an announcement, I've started one of those punditry/bloggy
things. It's at <a href='http://www.bofh.org.uk/' target='_blank'>www.bofh.org.uk</a> (Snappy URL
eh?) and it's called 'Just A Summary'. I'm expecting it to
concentrate on Perl and Perl 6 related issues, but at the time of
this writing I've only got two 'real' articles up there so anything
could happen.</p>
<p>As ever, if you've appreciated this summary, please consider one or
more of the following options:</p>
<ul>
<li><a name='Send money to the Perl Foundation at donate.perl-foundation.org/ and help support the ongoing development of Perl.'></a>Send money to the Perl Foundation at
<a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> and help support the ongoing
development of Perl.</li>
<li><a name='Get involved in the Perl 6 process. The mailing lists are open to all. dev.perl.org/perl6/ and www.parrotcode.org/ are good starting points with links to the appropriate mailing lists.'></a>Get involved in the Perl 6 process. The mailing lists are open  to
all. <a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> and <a href='http://www.parrotcode.org/' target='_blank'>www.parrotcode.org</a>
are good starting points with links to the appropriate mailing lists.</li>
<li><a name='Send feedback, flames, money, requests for consultancy, photographic and writing commissions, or an apple 23&quot; Cinema Display to p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a> (One of these days that begging request will work, and I'll be flabberghasted).'></a>Send feedback, flames, money, requests for consultancy, photographic
and writing commissions, or an apple 23&quot; Cinema Display to
<i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i> (One of these days that begging request
will work, and I'll be flabberghasted).</li>
</ul>
</div>
